package com.qiyang.log;

import com.taobao.pandora.boot.PandoraBootstrap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.web.client.RestTemplate;

/**
 * Created on 2018/4/29.
 *
 * @author sehuaqi.
 * 描述：
 */
@SpringBootApplication(scanBasePackages = {"com.qiyang.common.autoconfig", "com.qiyang.api.*", "com.qiyang.log"})
/**** ########## SpringCloud Feign 调用方式时启用以下注解 ########## *****/
//@EnableEurekaClient
//@EnableFeignClients({"com.qiyang.api.*"})
//@EnableHystrix
//@EnableHystrixDashboard
/**** ########## SpringCloud Feign 调用方式时启用以上注解 ########## *****/
public class LogHsfApp {

    private static Logger logger = LoggerFactory.getLogger(LogHsfApp.class);

    public static void main(String args[]) {


        // 启动 Pandora Boot 用于加载 Pandora 容器
        PandoraBootstrap.run(args);

        //执行函数
        SpringApplication.run(LogHsfApp.class, args);

        // 标记服务启动完成,并设置线程 wait。防止用户业务代码运行完毕退出后，导致容器退出。
        PandoraBootstrap.markStartupAndWait();


        logger.info("日志服务启动完成");

    }

    @Bean
    @LoadBalanced
    RestTemplate restTemplate() {
        return new RestTemplate();
    }
}
